$(function() {

    let currentPage
    let totalCount
    let per_page = 8
        //请求文章查询，动态渲染文章列表
        //封装查询文章请求，后续都要用上
    function init(type, state) {
        $.ajax({
            url: bigNews.article_query,
            data: { page: currentPage, perpage: per_page, type, state },
            headers: { 'Authorization': localStorage.getItem('bigNews_token') },
            dataType: 'json',
            success: function(res) {
                // console.log(res);
                $('tbody').html(template('articlelistTem', res))
                totalCount = res.data.totalCount
                setPage(res.data.totalPage)
            }
        })
    }
    init()

    //请求文章类型，动态渲染文章分类
    $.ajax({
        url: bigNews.category_list,
        headers: { 'Authorization': localStorage.getItem('bigNews_token') },
        dataType: 'json',
        success: function(res) {
            // console.log(res);
            $('#selCategory').html(template('optTem', res))
        }
    })

    //筛选事件，获取下拉选项的value值（后台需要什么，就设置什么value值，而文本值是给用户看的，设置的value属性是给程序员用的，不设置则为文本值）
    $('#btnSearch').on('click', function() {
        let type = $('#selCategory').val()
        let state = $('#selStatus').val()
            //筛选后调回第一页
        currentPage = 1
        init(type, state)
    })

    //设置分页,来自插件文档
    function setPage(pageSum) {
        $(".pagination").bootstrapPaginator({
            //设置版本号
            bootstrapMajorVersion: 3,
            // 显示第几页
            currentPage: currentPage,
            // 总页数，当筛选数量为0时，显示页码为1（短路运算）
            totalPages: pageSum || 1,
            //当单击操作按钮的时候, 执行该函数, 调用ajax渲染页面
            onPageClicked: function(event, originalEvent, type, page) {
                // 把当前点击的页码赋值给currentPage, 调用ajax,渲染页面
                currentPage = page
                init($('#selCategory').val(), $('#selStatus').val())
            }
        })
    }
    //删除文章
    $('tbody').on('click', '.btn_delete', function() {
        let id = $(this).data('id')
            // console.log(id);

        $.ajax({
            type: 'post',
            url: bigNews.article_delete,
            data: { id },
            dataType: 'json',
            headers: { 'Authorization': localStorage.getItem('bigNews_token') },
            success: function(res) {
                alert(res.msg)

                //判断总数对当每页内容数量求余，再减去1（因为数据是在删除之前获取的），如果=0，则当前页无内容
                // if (currentPage > 1 && totalCount % per_page - 1 == 0) {
                //     currentPage -= 1
                // }

                //当页面中只剩一条数据的时候，下一步删除完就没数据了，即需要跳转到上一页，所以获取tbody的子元素的数量来判断
                if (currentPage > 1 && $('tbody').children().length == 1) {
                    currentPage -= 1
                }

                init($('#selCategory').val(), $('#selStatus').val())
            }
        })
    })

    //设置每页显示的数量
    $('.perCount').on('change', function() {
        per_page = $(this).val()
        currentPage = 1
        init($('#selCategory').val(), $('#selStatus').val())
    })

})